package com.ycg.blog.service;

import com.ycg.blog.common.PageView;
import com.ycg.blog.common.R;
import com.ycg.blog.pojo.Tag;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycg.blog.pojo.vo.SimpleArticleVo;
import com.ycg.blog.pojo.vo.TagVo;

import java.util.List;

/**
* @author lenovo
* @description 针对表【blog_tag(文章分类信息)】的数据库操作Service
* @createDate 2024-03-02 12:05:04
*/
public interface TagService extends IService<Tag> {

    /**
     * 获取所有标签
     * @param current
     * @param pageSize
     * @return
     */
    R<PageView<TagVo>> getTagList(Integer current, Integer pageSize);

    /**
     * 根据id获取文章信息
     * @param tagId
     * @return
     */
    R<List<SimpleArticleVo>> getArticles(Integer tagId);

    /**
     * 根据标签id修改标签名称
     * @param tagId
     * @param newName
     * @return
     */
    R<String> updateTagName(Integer tagId, String newName);

    /**
     * 根据标签id删除标签
     * @param tagId
     * @return
     */
    R<String> deleteTagById(Integer tagId);

    /**
     * 根据标签名称新增或修改表情
     * @param tags
     */
    void saveByName(List<Tag> tags);
}
